package DataStructure.PropertiesLearning;

import java.io.*;
import java.util.Properties;
import java.util.Random;
import java.util.Scanner;
/**
 *  练习 -- 请设计一个猜数字小游戏，可以试玩5次。试玩结束之后，给出提示：游戏试玩结束，请付费。
 * 	  (Properties: 读取和存文件)
 */
public class Test02 {
    public static void main(String[] args) throws IOException {
        Scanner in = new Scanner(System.in);
        // 创建输入输出流和Properties操作对象
        FileReader fr = new FileReader("src\\DataStructure\\PropertiesLearning\\countTime.properties");
        Properties pro = new Properties();
        pro.load(fr);
        String times = pro.getProperty("time");
        // 追加写入
        FileWriter fw = new FileWriter("src\\DataStructure\\PropertiesLearning\\countTime.properties", true);

        // 如果properties文件中不存在time键值对
        // 则存储进去
        if(times == null) {
            pro.setProperty("time", "1");
            pro.store(fw, "The count is one");
            times = pro.getProperty("time");
        }
        System.out.println("游戏开始！");
        Random random = new Random();


        while (times.compareTo("5") <= 0) {
            System.out.println("=========================");
            System.out.println("游玩次数：" + times);
            int num = random.nextInt(10) + 1;
            System.out.println("已经生成了一个1-10之间的整数");
            System.out.print("请输入你的猜测：");
            int input = in.nextInt();
            while(input != num) {
                if(input > num) {
                    System.out.println("猜的大了，换个小点的？");
                } else {
                    System.out.println("猜的小了，换个大点的！");
                }
                input = in.nextInt();
            }
            System.out.println("猜对了！数字就是：" + num + " -- " + input);
            // 游戏结束，并更改properties文件中的键值对
            int inte = Integer.parseInt(times);
            times = Integer.toString(++inte);
            pro.setProperty("time", times);
            pro.store(fw, "The count is adding");
        }

        if(times.compareTo("5") > 0) {
            System.out.println("你已经玩了五次了，我要收费咯ε=ε=ε=(~￣▽￣)~~");
        }

        fw.close();
        fr.close();
    }
}
